#ifndef CCANVAS_H
#define CCANVAS_H

#include "../../include/canvas.h"

class CCanvas : public axelynx::Canvas
{
    public:
        CCanvas();
        virtual ~CCanvas();

        void Clear();
        void ClearColor(unsigned char red,unsigned char green,unsigned char blue);
        void ClearColor(unsigned char red,unsigned char green,unsigned char blue,unsigned char alpha);
        void Color(unsigned char red,unsigned char green,unsigned char blue);
        void Color(unsigned char red,unsigned char green,unsigned char blue,unsigned char alpha);
        void BlendMode(axelynx::BlendMode bm);
        axelynx::BlendMode GetCurrentBlend();

        axelynx::PixMap* ToPixMap();

        void Line(int x1,int y1, int x2, int y2);
        void ThikLine(int x1,int y1, int x2, int y2,int width);

        void Plot(int x, int y);
        void Plot(int x, int y, unsigned char r, unsigned char g, unsigned char b, unsigned char a);

        void Rect(int left,int top,int width,int height);
        void Oval(int x,int y, int vradius, int hradius);
        void VoidRect(int left,int top,int width,int height);
        void VoidOval(int x,int y, int vradius, int hradius);
    protected:
    private:
    axelynx::BlendMode curblend_;
    float cr_,cg_,cb_,ca_; //current color

};

#endif // CCANVAS_H
